/**
 */
package procesosvg.impl;

import org.eclipse.emf.common.notify.Notification;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.ecore.impl.ENotificationImpl;

import procesosvg.Cuadro;
import procesosvg.ProcesosvgPackage;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Cuadro</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link procesosvg.impl.CuadroImpl#getPosicionX <em>Posicion X</em>}</li>
 *   <li>{@link procesosvg.impl.CuadroImpl#getPosicionY <em>Posicion Y</em>}</li>
 *   <li>{@link procesosvg.impl.CuadroImpl#getTamanoX <em>Tamano X</em>}</li>
 *   <li>{@link procesosvg.impl.CuadroImpl#getTamanoY <em>Tamano Y</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class CuadroImpl extends CanvasImpl implements Cuadro {
	/**
	 * The default value of the '{@link #getPosicionX() <em>Posicion X</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPosicionX()
	 * @generated
	 * @ordered
	 */
	protected static final int POSICION_X_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getPosicionX() <em>Posicion X</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPosicionX()
	 * @generated
	 * @ordered
	 */
	protected int posicionX = POSICION_X_EDEFAULT;

	/**
	 * The default value of the '{@link #getPosicionY() <em>Posicion Y</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPosicionY()
	 * @generated
	 * @ordered
	 */
	protected static final int POSICION_Y_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getPosicionY() <em>Posicion Y</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getPosicionY()
	 * @generated
	 * @ordered
	 */
	protected int posicionY = POSICION_Y_EDEFAULT;

	/**
	 * The default value of the '{@link #getTamanoX() <em>Tamano X</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTamanoX()
	 * @generated
	 * @ordered
	 */
	protected static final int TAMANO_X_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getTamanoX() <em>Tamano X</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTamanoX()
	 * @generated
	 * @ordered
	 */
	protected int tamanoX = TAMANO_X_EDEFAULT;

	/**
	 * The default value of the '{@link #getTamanoY() <em>Tamano Y</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTamanoY()
	 * @generated
	 * @ordered
	 */
	protected static final int TAMANO_Y_EDEFAULT = 0;

	/**
	 * The cached value of the '{@link #getTamanoY() <em>Tamano Y</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #getTamanoY()
	 * @generated
	 * @ordered
	 */
	protected int tamanoY = TAMANO_Y_EDEFAULT;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected CuadroImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return ProcesosvgPackage.Literals.CUADRO;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getPosicionX() {
		return posicionX;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPosicionX(int newPosicionX) {
		int oldPosicionX = posicionX;
		posicionX = newPosicionX;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, ProcesosvgPackage.CUADRO__POSICION_X, oldPosicionX, posicionX));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getPosicionY() {
		return posicionY;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPosicionY(int newPosicionY) {
		int oldPosicionY = posicionY;
		posicionY = newPosicionY;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, ProcesosvgPackage.CUADRO__POSICION_Y, oldPosicionY, posicionY));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getTamanoX() {
		return tamanoX;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setTamanoX(int newTamanoX) {
		int oldTamanoX = tamanoX;
		tamanoX = newTamanoX;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, ProcesosvgPackage.CUADRO__TAMANO_X, oldTamanoX, tamanoX));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getTamanoY() {
		return tamanoY;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setTamanoY(int newTamanoY) {
		int oldTamanoY = tamanoY;
		tamanoY = newTamanoY;
		if (eNotificationRequired())
			eNotify(new ENotificationImpl(this, Notification.SET, ProcesosvgPackage.CUADRO__TAMANO_Y, oldTamanoY, tamanoY));
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
		switch (featureID) {
			case ProcesosvgPackage.CUADRO__POSICION_X:
				return getPosicionX();
			case ProcesosvgPackage.CUADRO__POSICION_Y:
				return getPosicionY();
			case ProcesosvgPackage.CUADRO__TAMANO_X:
				return getTamanoX();
			case ProcesosvgPackage.CUADRO__TAMANO_Y:
				return getTamanoY();
		}
		return super.eGet(featureID, resolve, coreType);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eSet(int featureID, Object newValue) {
		switch (featureID) {
			case ProcesosvgPackage.CUADRO__POSICION_X:
				setPosicionX((Integer)newValue);
				return;
			case ProcesosvgPackage.CUADRO__POSICION_Y:
				setPosicionY((Integer)newValue);
				return;
			case ProcesosvgPackage.CUADRO__TAMANO_X:
				setTamanoX((Integer)newValue);
				return;
			case ProcesosvgPackage.CUADRO__TAMANO_Y:
				setTamanoY((Integer)newValue);
				return;
		}
		super.eSet(featureID, newValue);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public void eUnset(int featureID) {
		switch (featureID) {
			case ProcesosvgPackage.CUADRO__POSICION_X:
				setPosicionX(POSICION_X_EDEFAULT);
				return;
			case ProcesosvgPackage.CUADRO__POSICION_Y:
				setPosicionY(POSICION_Y_EDEFAULT);
				return;
			case ProcesosvgPackage.CUADRO__TAMANO_X:
				setTamanoX(TAMANO_X_EDEFAULT);
				return;
			case ProcesosvgPackage.CUADRO__TAMANO_Y:
				setTamanoY(TAMANO_Y_EDEFAULT);
				return;
		}
		super.eUnset(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public boolean eIsSet(int featureID) {
		switch (featureID) {
			case ProcesosvgPackage.CUADRO__POSICION_X:
				return posicionX != POSICION_X_EDEFAULT;
			case ProcesosvgPackage.CUADRO__POSICION_Y:
				return posicionY != POSICION_Y_EDEFAULT;
			case ProcesosvgPackage.CUADRO__TAMANO_X:
				return tamanoX != TAMANO_X_EDEFAULT;
			case ProcesosvgPackage.CUADRO__TAMANO_Y:
				return tamanoY != TAMANO_Y_EDEFAULT;
		}
		return super.eIsSet(featureID);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		if (eIsProxy()) return super.toString();

		StringBuffer result = new StringBuffer(super.toString());
		result.append(" (posicionX: ");
		result.append(posicionX);
		result.append(", posicionY: ");
		result.append(posicionY);
		result.append(", tamanoX: ");
		result.append(tamanoX);
		result.append(", tamanoY: ");
		result.append(tamanoY);
		result.append(')');
		return result.toString();
	}

} //CuadroImpl
